\section{Einführung}
Das Kapitel ''Einführung'' soll die Wichtigsten Themen in Bezug zum Projekt ''Push Technologien'' bekannt machen.

\subsection{Kontext}

\subsubsection{NetGame}
\label{NetGame}
An der Hochschule für Technik und Architektur Freiburg wurde zu didaktischen Zwecken eine Webapplikation (NetGame) entwickelt, die auf spielerische Art das Funktionieren der Netzwerkschichten eins zwei und drei demonstriert. Es handelt sich dabei um ein Mehrspieler Spiel, das mit einer gesamten Schulklasse zur selben Zeit durchgeführt werden kann. Die Lehrperson kann von ihrem Arbeitsplatz Netzwerkverkehr generieren. Aufgabe der Schulklasse ist, die entsprechenden Netzwerkpakete jeweils an die richtige Zieladresse weiterzuleiten.

\subsubsection{Google Web Toolkit (GWT)}
NetGame wurde mit Hilfe von GWT entwickelt. GWT ist eine Webentwicklungsplattform, die es ermöglicht JavaScript Webapplikationen in der Programmiersprache JAVA zu schreiben. Der geschriebene JAVA Code wird hierzu vom GWT Framework in Javascript Code übersetzt. 

Beim Netzwerkspiel NetGame wird der gesamte Netzwerkzustand auf dem Server simuliert. Damit die Clients stets über den aktuellen Stand des Netzwerkes informiert sind, schicken sie periodisch (z.B. alle 2 Sekunden) eine Anfrage an den Server. Der Server antwortet anschliessend mit einer Nachricht. Diese Methode verursacht unter Umständen unnötigen Netzwerkverkehr, welcher durch Nutzung von Push Technologien vermieden werden könnte.

\subsubsection{Push Technologien}
\label{Push Technologien}
Push Technologie bedeutet, dass der Client ohne Serveranfrage vom Server Daten erhält. Es gibt unzählig verschiedene Push Technologien, die auf diversen Protokollen basieren. Der heutige Trend zeigt, dass die Nachfrage einer solchen Technologie immer grösser wird. Im Rahmen dieses Projektes sprechen wir ausschliesslich über \textbf{Web Push Technologien}. Dies setzt zwingend voraus, dass auf Seite des Clients ein Webbrowser vorhanden sein muss 

